/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dvdfe8.crochet.modelo.service;

import com.dvdfe8.crochet.modelo.dao.LineaDao;
import com.dvdfe8.crochet.modelo.dao.PedidoDao;
import com.dvdfe8.crochet.modelo.entity.Cliente;
import com.dvdfe8.crochet.modelo.entity.Linea;
import com.dvdfe8.crochet.modelo.entity.Pedido;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 *
 * @author David
 */
@Service
public class PedidoServiceImpl implements PedidoService {

    @Autowired
    PedidoDao pedidoDao;
    
    @Autowired
    LineaDao lineaDao;

    @Autowired
    ClienteService clienteService;
    
    @Override
    public void crear(Pedido pedido) {
        Cliente cliente = clienteService.getClienteById(pedido.getIdCliente());
        pedido.setCliente(cliente);
        cliente.agregarPedido(pedido);
        pedidoDao.crear(pedido);
    }

    @Override
    public List<Pedido> listarTodos() {
        return pedidoDao.listarTodos();
    }

    @Override
    public void eliminar(Pedido pedido) {
        Collection<Linea> lineas = pedido.getLineas();
        for(Linea linea:lineas){
            lineaDao.eliminar(linea);
        }
        pedidoDao.eliminar(pedido);
    }

    @Override
    public Pedido getPedidoById(int id) {
        return pedidoDao.getPedidoById(id);
    }

    @Override
    public List<Pedido> listarTodos(Cliente cliente) {
        return pedidoDao.listarTodos(cliente);
    }
    
}
